跳到主要内容

4.7 串口模块

串口是计算机上一种非常通用设备通信的协议,不管是设备间的相互通信,还是输出调试信息,串口都有着无与伦比的便捷性。

(1)介绍与准备

在ESP32平台上,用CH340C实现USB转串口或者USB转打印口,CH340C内置时钟,无需外部晶振。其原理图如下:

alt text
图4.7.1

其串口通信的接线为:

CH340CESP32
RXTX
TXRX
GNDGND
VCCVCC

在这里我们要实现输入什么内容,在控制台返回同样的内容。

(2)实验代码

void setup() {
Serial.begin(9600); //设置串口波特率9600
Serial.println("Hello world.");// "Hello world."
Serial.println(12);//输出十进制的数字 12
}

void loop() {
String revData;//定义一个字符串

while (Serial.available() > 0)//串口接收到数据
{
revData += char(Serial.read()) ; //获取串口接收到的数据
delay(2);
}
if (revData.length() > 0) {
Serial.println(revData);//输出串口收到
}

revData = "";//内容清0
delay(500);
}

(4)实验讲解

表1.7 串口模块函数讲解
函数说明
Serial.begin()设置电脑与ESP32进行串口通讯时的数据传输速率
Serial.available()从串口获得可以读取的数据字节数,返回可以读取的字节数
Serial.read()读串口数据

(4)实验现象

点击左上角“串口监视器”,选择波特率为9600,按下“EN”键后,出现Hello world等字符,在上方输入内容如“ABC”,点击发送,即可看到在控制台打印“ABC”。

alt text
图4.7.2 打印出“Hello world”

alt text
图4.7.3 打印出“ABC”